{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\h5py\\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
      "  from ._conv import register_converters as _register_converters\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from tensorflow.contrib.layers import fully_connected\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_path= '../data/diamonds.csv'\n",
    "diamonds = pd.read_csv(data_path)\n",
    "diamonds = pd.concat([diamonds, pd.get_dummies(diamonds['cut'], prefix='cut', drop_first=True)],axis=1)\n",
    "diamonds = pd.concat([diamonds, pd.get_dummies(diamonds['color'], prefix='color', drop_first=True)],axis=1)\n",
    "diamonds = pd.concat([diamonds, pd.get_dummies(diamonds['clarity'], prefix='clarity', drop_first=True)],axis=1)\n",
    "diamonds.drop(['cut','color','clarity'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import RobustScaler\n",
    "target_name = 'price'\n",
    "robust_scaler = RobustScaler()\n",
    "X = diamonds.drop('price', axis=1)\n",
    "X = robust_scaler.fit_transform(X)\n",
    "y = diamonds[target_name]\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=123)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_epochs = 40\n",
    "batch_size = 50 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_placeholder = tf.placeholder(X_train.dtype, shape=X_train.shape)\n",
    "y_placeholder = tf.placeholder(y_train.dtype, shape=y_train.shape)\n",
    "\n",
    "dataset = tf.data.Dataset.from_tensor_slices((X_placeholder, y_placeholder))\n",
    "dataset = dataset.shuffle(buffer_size=10000)\n",
    "dataset = dataset.batch(batch_size)\n",
    "iterator = dataset.make_initializable_iterator()\n",
    "next_element = iterator.get_next()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_inputs = X_train.shape[1] #23\n",
    "n_hidden1 = 256\n",
    "n_hidden2 = 128 \n",
    "n_hidden3 = 64\n",
    "n_outputs = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = tf.placeholder(X_train.dtype, shape=[None,n_inputs])\n",
    "y = tf.placeholder(y_train.dtype)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def DNN(X_values):\n",
    "    hidden1 = fully_connected(X_values, n_hidden1)\n",
    "    hidden2 = fully_connected(hidden1, n_hidden2)\n",
    "    hidden3 = fully_connected(hidden2, n_hidden3)\n",
    "    y_pred = fully_connected(hidden3, n_outputs, activation_fn=None)\n",
    "    return tf.squeeze(y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = DNN(X)\n",
    "loss = tf.losses.mean_squared_error(labels=y, predictions=y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "optimizer = tf.train.AdamOptimizer()\n",
    "training_op = optimizer.minimize(loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_mse = np.zeros(n_epochs)\n",
    "test_mse = np.zeros(n_epochs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=============EPOCH 1============\n",
      "Training MSE: 1487984.1\n",
      "Test MSE: 945861.3\n",
      "=============EPOCH 2============\n",
      "Training MSE: 1324591.0\n",
      "Test MSE: 763520.3\n",
      "=============EPOCH 3============\n",
      "Training MSE: 747295.4\n",
      "Test MSE: 692744.2\n",
      "=============EPOCH 4============\n",
      "Training MSE: 582598.2\n",
      "Test MSE: 648847.9\n",
      "=============EPOCH 5============\n",
      "Training MSE: 847241.3\n",
      "Test MSE: 617727.9\n",
      "=============EPOCH 6============\n",
      "Training MSE: 211087.8\n",
      "Test MSE: 577629.8\n",
      "=============EPOCH 7============\n",
      "Training MSE: 367640.2\n",
      "Test MSE: 548181.0\n",
      "=============EPOCH 8============\n",
      "Training MSE: 483493.8\n",
      "Test MSE: 523253.8\n",
      "=============EPOCH 9============\n",
      "Training MSE: 302357.0\n",
      "Test MSE: 505584.0\n",
      "=============EPOCH 10============\n",
      "Training MSE: 342172.7\n",
      "Test MSE: 507379.0\n",
      "=============EPOCH 11============\n",
      "Training MSE: 1254314.4\n",
      "Test MSE: 476300.2\n",
      "=============EPOCH 12============\n",
      "Training MSE: 195476.0\n",
      "Test MSE: 442623.9\n",
      "=============EPOCH 13============\n",
      "Training MSE: 477508.0\n",
      "Test MSE: 438999.5\n",
      "=============EPOCH 14============\n",
      "Training MSE: 124869.7\n",
      "Test MSE: 385081.8\n",
      "=============EPOCH 15============\n",
      "Training MSE: 444545.9\n",
      "Test MSE: 368407.5\n",
      "=============EPOCH 16============\n",
      "Training MSE: 328337.9\n",
      "Test MSE: 366264.3\n",
      "=============EPOCH 17============\n",
      "Training MSE: 807184.4\n",
      "Test MSE: 358864.5\n",
      "=============EPOCH 18============\n",
      "Training MSE: 167651.5\n",
      "Test MSE: 371034.2\n",
      "=============EPOCH 19============\n",
      "Training MSE: 75244.9\n",
      "Test MSE: 343739.2\n",
      "=============EPOCH 20============\n",
      "Training MSE: 177522.0\n",
      "Test MSE: 357843.2\n",
      "=============EPOCH 21============\n",
      "Training MSE: 134178.9\n",
      "Test MSE: 333310.1\n",
      "=============EPOCH 22============\n",
      "Training MSE: 693235.1\n",
      "Test MSE: 389745.8\n",
      "=============EPOCH 23============\n",
      "Training MSE: 348209.8\n",
      "Test MSE: 350836.6\n",
      "=============EPOCH 24============\n",
      "Training MSE: 537273.1\n",
      "Test MSE: 327322.0\n",
      "=============EPOCH 25============\n",
      "Training MSE: 333005.0\n",
      "Test MSE: 324670.0\n",
      "=============EPOCH 26============\n",
      "Training MSE: 177162.7\n",
      "Test MSE: 325339.2\n",
      "=============EPOCH 27============\n",
      "Training MSE: 231358.8\n",
      "Test MSE: 333246.4\n",
      "=============EPOCH 28============\n",
      "Training MSE: 160658.5\n",
      "Test MSE: 338067.7\n",
      "=============EPOCH 29============\n",
      "Training MSE: 242078.7\n",
      "Test MSE: 328448.4\n",
      "=============EPOCH 30============\n",
      "Training MSE: 328923.1\n",
      "Test MSE: 323193.2\n",
      "=============EPOCH 31============\n",
      "Training MSE: 278034.0\n",
      "Test MSE: 319835.2\n",
      "=============EPOCH 32============\n",
      "Training MSE: 145970.8\n",
      "Test MSE: 353418.9\n",
      "=============EPOCH 33============\n",
      "Training MSE: 669556.2\n",
      "Test MSE: 328455.8\n",
      "=============EPOCH 34============\n",
      "Training MSE: 200460.8\n",
      "Test MSE: 327063.5\n",
      "=============EPOCH 35============\n",
      "Training MSE: 78837.0\n",
      "Test MSE: 313145.1\n",
      "=============EPOCH 36============\n",
      "Training MSE: 93631.8\n",
      "Test MSE: 350252.7\n",
      "=============EPOCH 37============\n",
      "Training MSE: 170409.5\n",
      "Test MSE: 330680.8\n",
      "=============EPOCH 38============\n",
      "Training MSE: 272994.2\n",
      "Test MSE: 346417.5\n",
      "=============EPOCH 39============\n",
      "Training MSE: 326620.7\n",
      "Test MSE: 319943.7\n",
      "=============EPOCH 40============\n",
      "Training MSE: 232014.9\n",
      "Test MSE: 305352.8\n",
      "Done Trainning\n",
      "\n",
      "=====================\n",
      "\n",
      "Using the network to make individual predictions\n",
      "Actual | Predicted\n",
      "=====================\n",
      "     802   |   750.0\n",
      "     935   |   915.0\n",
      "    5826   |  6157.0\n",
      "     935   |  1090.0\n",
      "    2817   |  3244.0\n",
      "     855   |   741.0\n",
      "    2846   |  2881.0\n",
      "     926   |   984.0\n",
      "   15962   | 15517.0\n",
      "    5445   |  5554.0\n",
      "    2550   |  2328.0\n",
      "    6221   |  5496.0\n",
      "     544   |   562.0\n",
      "    1122   |  1082.0\n",
      "    1367   |  1502.0\n",
      "    4077   |  3812.0\n",
      "    2144   |  1937.0\n",
      "    2960   |  2712.0\n",
      "    7131   |  7560.0\n",
      "    1221   |  1386.0\n",
      "    4563   |  5442.0\n",
      "    3830   |  3568.0\n",
      "    1137   |  1269.0\n",
      "    1361   |  1372.0\n",
      "    4641   |  4617.0\n",
      "Correlation:  0.9954414006558564\n"
     ]
    }
   ],
   "source": [
    "with tf.Session() as sess:\n",
    "    tf.global_variables_initializer().run()\n",
    "    for epoch in range(n_epochs):\n",
    "        sess.run(iterator.initializer, feed_dict={X_placeholder: X_train, y_placeholder: y_train})\n",
    "        while True:\n",
    "            try:\n",
    "                batch_data = sess.run(next_element)\n",
    "                X_batch = batch_data[0]\n",
    "                y_batch = batch_data[1]\n",
    "                sess.run(training_op, feed_dict={X: X_batch, y:y_batch})\n",
    "            except tf.errors.OutOfRangeError:\n",
    "                break\n",
    "        print(\"=============EPOCH {}============\".format(epoch+1))\n",
    "        train_mse[epoch] = loss.eval(feed_dict={X:X_batch, y:y_batch})\n",
    "        test_mse[epoch] = loss.eval(feed_dict={X:X_test, y:y_test})\n",
    "        print('Training MSE:', round(train_mse[epoch],1))\n",
    "        print('Test MSE:', round(test_mse[epoch],1))\n",
    "    print(\"Done Trainning\")\n",
    "    \n",
    "    ## Producing individual predictions\n",
    "    print(\"\\n=====================\\n\")\n",
    "    print(\"Using the network to make individual predictions\")\n",
    "    n_pred = 25\n",
    "    y_obs = y_test[:n_pred]\n",
    "    y_predicted = y_pred.eval(feed_dict={X:X_test[:n_pred,]})\n",
    "    print(\"Actual | Predicted\")\n",
    "    print(\"=====================\") \n",
    "    for obs, pred in zip(y_obs, y_predicted):\n",
    "        print(\"{: >8}   |{: >8}\".format(round(obs), round(pred)))\n",
    "    print(\"Correlation: \", np.corrcoef(y_obs, y_predicted)[0,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAFpCAYAAAABXCv2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xt83GWZ8P/PPTOZmWSSNMmkSY/0RIGWFkqp5SwprQLusqCPQGEVVNiuiKu7Prqyu/qgiCv8dB9Xdj0hVPCwFEQQ9AErBQKVU2lL5dBCG0pL00POTWaSzCSTuX9/fL/f6TSZ8yGZmVzv16uvJt/5HknoXHPd931dSmuNEEIIISYv20TfgBBCCCEmlgQDQgghxCQnwYAQQggxyUkwIIQQQkxyEgwIIYQQk5wEA0IIIcQkJ8GAEEIIMclJMCCEEEJMchIMCCGEEJOcBANCCCHEJOeY6BsYL/X19Xru3Lk5O19/fz8ejydn5ysEpfZM8jyFTZ6nsMnzFLZUn2fbtm2dWuupyfabNMHA3Llz2bp1a87O19zcTFNTU87OVwhK7ZnkeQqbPE9hk+cpbKk+j1Jqfyrnk2ECIYQQYpKTYEAIIYSY5CQYEEIIISa5STNnQAghRGEYHh6mtbWVQCAwbtecMmUKu3btGrfr5dvo53G73cyaNYuysrKMzifBgBBCiHHV2tpKVVUVc+fORSk1Ltf0+XxUVVWNy7XGQ/TzaK3p6uqitbWVefPmZXQ+GSYQQggxrgKBAF6vd9wCgVKnlMLr9WaVaZFgQAghxLiTQCC3sv3vKcGAEEKISaWrq4tly5axbNkypk2bxsyZMyPfDw0NpXSOT3/607zzzjspX/Oee+5BKcVzzz0X2fab3/wGpRS/+93vAHjsscdYtmwZp59+OosXL+aee+4B4Gtf+9px97hs2TJ8Pl8aT5yczBkQQggxqXi9Xnbs2AHAN77xDSorK/nyl7983D5aa7TW2GyxPzP//Oc/T/u6S5cu5YEHHuDCCy8EYMOGDZx++ukABINBbrrpJrZu3cqMGTMIBoPs33+sXtBXvvIV/vEf/zHyfa6DAckMCCGEEEBLSwtLlizhs5/9LMuXL+fw4cOsW7eOFStWcOqpp3LbbbdF9j3//PPZsWMHoVCImpoabrnlFk4//XTOOecc2tvbY56/qamJF198kVAoRF9fH++//z5LliwBoLe3F601dXV1ALhcLk466aT8P7RJMgNCCCEmzDd//xY7D/Xl9JyLZ1Rz62WnZnTszp07+fnPf85PfvITAO644w7q6uoIhUKsWrWKj3/84yxevPi4Y3p7e7nwwgu54447+NKXvsT69eu55ZZbxpzbZrPR1NTEpk2baGtr44orrogsD2xoaODiiy9mzpw5rF69mssuu4yrr746kpn47ne/y3333QdAfX09jz76aEbPF49kBjLQHwzx6pEQgeGRib4VIYQQObRgwQI+8IEPRL5/4IEHWL58OcuXL2fXrl3s3LlzzDHl5eVceumlAJx55pns27cv7vnXrl3Lhg0b2LBhA2vXrj3utfvuu4+nnnqKFStWcMcdd7Bu3brIa1/5ylfYsWMHO3bsYNOmTVk+5ViSGcjAln3d/HBHkBVndLHq5IaJvh0hhChamX6Cz5foToB79uzhBz/4AVu2bKGmpoZPfOITMZfvOZ3OyNd2u51QKBT3/Oeccw6f/exnqaqqYsGCBWNeP+200zjttNO49tprWbRoUWQSYb5JZiAD58z34rLDpp1tE30rQggh8qSvr4+qqiqqq6s5fPgwGzduzPqcSim+853v8O///u9jrvX8889Hvt+xYwdz5szJ+nqpksxABtxldpbU23l6Vzu3X6FlvawQQpSg5cuXs3jxYpYsWcL8+fM577zzcnLev/qrvxqzTWvNd77zHf7u7/6O8vJyKisrWb9+feT16DkDYAxfLFq0KCf3AxIMZGzZVDvb3gzw1qE+lsycMtG3I4QQIgPf+MY3Il+feOKJkSWHYHyK/+UvfxnzuD//+c+Rr48ePRr5eu3atWPmAgDceOONMc/zq1/9KvL1k08+GXOf22+/ndtvv/24bbK0sECc3uBAKXhKhgqEEEIUOQkGMlTtVCw/oZan35ZgQAghRHGTYCALaxY18ubBPg73Dk70rQghhBAZk2AgCx9abCwr3LQrdrUpIYQQohhIMJCFBVMrmeOt4OldMlQghBCieEkwkAWlFGsWNfJiSxf9wfhFJoQQQohCJsFAltYsamRoJMzmPR0TfStCCCFSkIsWxgDr16/nyJEjMV/7xCc+QWVlJf39/ZFtN998M0qpyFLE2267jVNPPZXTTjuNM844g1dffRUwmiCdfPLJkXu6+uqrs3ja1EidgSyt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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "ax.plot(train_mse, label='Train MSE')\n",
    "ax.plot(test_mse, label='Test MSE')\n",
    "ax.legend()\n",
    "ax.grid()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
